home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / linkedit / linkedit.lha / link-edit / LinkEdit / Link / README < prev    next >
Encoding:
Text File  |  1991-03-13  |  2.2 KB  |  76 lines

  1. This directory contains the link drawing part of the Link editor
  2. for Jeff Weeks.  This is simply a 2D curve drawing package, with facilities
  3. for over-under specifications at crossing.  The interface will
  4. be combined with this program in a LinkEdit directory.  
  5.  
  6.    This program needs to define the basic data structures, and have the
  7. required editing and state mode public functions.  These are
  8.  
  9.    MovePoint
  10.    DeletePoint
  11.    AddPoint - before, after, in-between
  12.  
  13.    Translate Link
  14.    Scale Link
  15.    Rotate Link
  16.  
  17.    Flip Crossing
  18.  
  19.    Shift View
  20.    Zoom View
  21.    Center View
  22.  
  23.    Show Crossings ?
  24.    Detect Crossings ?
  25.  
  26.    Save link, scene
  27.    Get New Link- empty, primitive, from file
  28.    Delete link, all
  29.  
  30.    I should leave hooks for coloring different links differently.
  31.  
  32. 10/26/90
  33.  
  34.     Data structures:
  35.  
  36. A point has x,y,z coords, and pointers to next and previous points.
  37. We also consider a point as the start of an edge, and the 
  38. structure "crossing" is a linked list of crossings of that edge.
  39. In that list the "partner" structure points to the edge which is 
  40. crossed (i.e. the start point of that edge)
  41.  
  42. z values are all + or - 1.  Vertices are always -1.  Crossingpoints
  43. are either + or -1.
  44.  
  45. A link is a list of points, together with the flag of closed or not.
  46. The edges are implicit in the ordering, and the crossings for
  47. a given edge are contained in the linked list of pnt->crossing
  48. where pnt is the starting point of the edge.  The starting point of
  49. the crossed edges are contained in the crossing->partner field.
  50.  
  51. 11/12/90
  52.  
  53.      The size in mm of the gap shown at a crossing is determined by
  54. LINK_GAP in *types.h.  
  55.  
  56. Design issues:
  57.      1) The interface ala BoxTool
  58.      2) How to recompute crossings when an edge is moved-
  59.          for each link
  60.            for each edge in link
  61.              if currently there is a crossing
  62.                 recompute crossing
  63.                   if no crossing delete old one
  64.                   else replace old one with new, preserving z value of old
  65.              else
  66.                 compute crossings
  67.            end
  68.          end
  69.  
  70. 2/12/91
  71.  
  72.     I`m going to change the method of highlighting in cases where
  73. gray-scale isn't available:  in that case simply make the vertices double
  74. size for the currently selected strand.
  75.  
  76.